#pragma once

#include <functional>
#include <memory>

namespace rr {
namespace nio {

class TcpConnection;
using TcpConnectionVar = std::shared_ptr<TcpConnection>;

typedef	std::function<void(TcpConnectionVar)>		ConnectionCallback;
typedef	std::function<void(TcpConnectionVar)>	    CloseCallback;

class NetCallback
{
public:
    NetCallback() {}
    ~NetCallback() {}

    static void DefualtConnectionCallback(TcpConnectionVar conn);
    static void DefualtCloseCallback(TcpConnectionVar conn);

};

} //namespace 
} //namespace 